| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| Old | < 12 hours ago | ||
| duff-resurrected-1.1.4.zip | < 12 hours ago | 39.4 MB | |
| CHANGES.md | < 12 hours ago | 18.5 kB | |
| README.md | < 12 hours ago | 5.4 kB | |
| duff.exe | < 12 hours ago | 875.0 kB | |
| duffc.exe | < 12 hours ago | 535.0 kB | |
| Totals: 6 Items | 40.8 MB | 3 | |
Duff Resurrected - DUplicate File Finder
Duff Resurrected (the resurrected DUFF) finds duplicate files on local and network drives. Files are compared with comparison layers (file name, binary content, text content, MP3 audio data), the list of candidates can be reduced with filters, files can be marked automatically with markers (oldest, biggest, located in a certain folder, ...) and the marked files are handled by processors (delete to the recycle bin or permanently, move, send to a program, save the list).
This is version 1.1.4: the 2002-2005 Visual C++ 6 sources (DUFF 0.6.9.26 by
Jeremy B. Smith) ported to Visual Studio 2022/2026, Unicode and 64-bit, with a
long list of bug fixes, the sources consolidated into one file pair per subject,
long path support, a built-in help, saved profiles, dark mode, a compare window
and no network or registry access at all. CHANGES.md lists everything that
differs from the original, one line per item.
Documentation:
docs/UserGuide.md- how to use the program (also built intoduff.exe: press F1)docs/DeveloperGuide.md- source layout, architecture, adding a moduleCHANGES.md- what is different compared with the original 0.6.9.26 (issues solved, features added, changes)
Building
Requirements:
- Visual Studio 2022 or newer (2026 works the same; Community is fine) with the workload Desktop development with C++, including the components C++ MFC for latest build tools (x86 & x64) and C++ CMake tools for Windows (both are part of the workload).
- NSIS 3.x only if you want to build the installer.
Build from a command prompt:
build.cmd -> Release, x64 (build-x64\bin\Release\duff.exe)
build.cmd Debug -> Debug, x64
build.cmd Release x86 -> Release, 32-bit (build-Win32\bin\Release\duff.exe)
build.cmd Release x64 2026 -> force a Visual Studio version (2022 or 2026)
build.cmd finds the newest installed Visual Studio with vswhere, picks
the matching CMake generator (17 = 2022, 18 = 2026; anything newer is left
to CMake's default, which is the newest Visual Studio it knows) and runs
CMake and MSBuild. Afterwards build-x64\DUFF.sln can be
opened in Visual Studio to debug (the duff project is the start-up project).
Alternatively open the folder in Visual Studio ("Open a local folder"), which
uses the CMakeLists.txt directly.
The build produces:
bin\<Config>\duff.exe the GUI application (help included)
bin\<Config>\duffc.exe the console tool (run without parameters for help)
Nothing else is needed at run time except the Visual C++ redistributable
of the Visual Studio version used (x64 or x86, matching the build; the
2015-2026 runtimes are binary compatible). Alternatively copy
mfc140u.dll, msvcp140.dll, vcruntime140.dll and vcruntime140_1.dll
from C:\Program Files\Microsoft Visual Studio\<year>\Community\VC\Redist\MSVC\<version>\x64\Microsoft.VC14x.MFC
and ...\Microsoft.VC14x.CRT next to duff.exe.
Dependencies: MFC (shared DLL), the Windows SDK and the bundled ResizableLib.
Linked system libraries: version (file version marker), ole32 and
shell32 (folder picker, recycle bin), shlwapi (file mask matching), uxtheme,
dwmapi and comctl32 (dark mode) and winmm (finished sound). No third-party packages.
Installer
cmake --install build-x64 --config Release --prefix dist
cd Source\Installation
makensis /DARCH=x64 /DBINDIR=..\..\dist duff.nsi
produces duff-1.1.4-x64.exe (installer title "Duff Resurrected") (pass /DVERSION=... to override the number).
Version numbers
The version lives in one place, the two lines at the top of CMakeLists.txt
(project(DUFF VERSION 1.1.4.0 ...) and set(DUFF_VERSION_LABEL "")).
CMake generates version.h from them; the version resource of both
executables, the title bar, the About box and the console banner read it.
The program shows major.minor.patch ("1.1.4"), plus the label when one is
set (for a release candidate, say "rc1").
Console tool
duffc /s /data /name /mark oldest /out dupes.csv C:\Photos D:\Backup
searches both folders including sub folders, reports files with the same
name or the same content, marks the oldest file of every duplicate set and
writes the result to dupes.csv. duffc without parameters lists all
options. /delete deletes the marked files (to the recycle bin unless
/permanent is given); use /n first for a dry run.
Source layout
CMakeLists.txt, build.cmd build description and build script
Source\ one .h/.cpp pair per subject (see docs\DeveloperGuide.md)
Source\Console\ console front end
Source\ResizableLib\ resizable dialog classes (Paolo Messina, Artistic License)
Source\Installation\ NSIS installer script
Source\res\ icon and bitmaps
docs\ user guide (embedded in the EXE) and developer guide
License
Duff Resurrected is free software under the GNU General Public License,
version 2 (see LICENSE), the licence Jeremy B. Smith (Helamonster
Software) chose for the original DUFF. You may redistribute and modify it
under the terms of that licence; it comes without any warranty. The bundled
ResizableLib (Paolo Messina) is covered by the Artistic License
(Source\ResizableLib\Artistic-License.txt).